package com.dudu.service;

import net.sf.json.JSONObject;

/**
 * 计费账户相关服务类
 * @author zx
 *
 */
public interface IOperationPlatformCustAccountService {
	
	/**
	 * 从运营平台获取计费账户相关信息
	 * 6.55　查询应用企业计费账号信息（计费账号和应用key）接口
	 * @param orgCode 第三方组织编码
	 * @param app_key 应用账号
	 * @return
	 */
	public String getAppCustInfo(String orgCode, String app_key);
	/**
	 * 8.32　可用余额资源综合接口
	 * @param cust_account
	 * @param app_key
	 * @param product_key
	 * @return
	 */
	public JSONObject queryResourcesAndAccountInfo(String cust_account,String app_key,String product_key);
	/**
	 * 查询充值记录接口6.22　[未改upd]查询充值记录接口
	 * @param cust_account  账号
	 * @param periphery_code  外围系统编码
	 * @param pay_result 充值结果(00：成功，01：失败，02：处理中，03：取消,-1：全部)
	 * @param pay_comefrom 支付来源(pc:电脑web端，mbl:手机端，all:全部)
	 * @param pay_style 支付方式(ali:支付宝，cdp:充值卡，chn:畅捷支付，ptp:后台充值，all：全部)
	 * @param start_time 充值开始时间(yyyy-MM-dd HH:mm:ss)
	 * @param end_time 充值结束时间
	 * @param page_no 页码
	 * @param page_size 每页显示数据数量
	 * @return
	 */
	public JSONObject getChargeItems(String cust_account,String periphery_code,String pay_result,String pay_comefrom,String pay_style,String start_time,String end_time,String page_no,String page_size);
	/**
	 * 6.16　注册用户限额查询接口
	 * @param periphery_code  外围系统编码
	 * @param cust_account 计费账号
	 * @param userId 外围系统用户账号
	 * @return
	 */
	public JSONObject queryOauthRelationUser(String periphery_code,String cust_account,String userId);
	/**
	 * 8.18　调用接口请求码接口
	 * @param periphery_code
	 * @param api_code  预请求接口编码(cardpay:充值卡充值接口;mbilepay:在线充值接口)
	 * @return
	 */
	public JSONObject getAskCode(String periphery_code,String api_code);
	/**
	 * 从运营平台获取计费账户相关信息
	 * @param orgCode 第三方组织编码
	 * @param app_key 应用账号
	 * @return
	 */
	public String getCustInfo(String orgCode, String app_key);
	/**
	 * 根据custaccount和能力类型获取账户余额
	 * @param custAccount 计费账户
	 * @param abilityType 可以传递多个能力类型，用","分割
	 * @return 能力类型的值为1，表示有余额，0代表没有余额
	 */
	public JSONObject getAccountBalancesByAbilityType(String custAccount, String abilityType);
	
	/**
	 * 网页回呼号码查询接口
	 * @param callCode 业务平台号码编码
	 * @param appKey 应用标识
	 * @return
	 */
	public String getNumberByCallCode(String callCode,String appKey);
}
